// hook组件
import { Button } from 'antd';
import React, { useState,useEffect} from 'react';
// 他是一个闭包，render一次调用初始化函数
function HookCom (props) {
    // 初始化可以根据props算值，传入函数
    let [num, setNum] = useState(() => {
        return props.number + 2
    })
    let [num2, setNum2] = useState(0)
    // 初始化一次，render一次触发一次
    // useEffect(() => {
    //     console.log('useEffect1')
    // })
    // 只初始化一次
    // useEffect(() => {
    //     console.log('useEffect1')
    // },[])
    // num\num2改变触发
    useEffect(() => {
        console.log('useEffect1')
        return () => {
            
        };
    }, [num,num2]);
    const addNum = () => {
        // setNum(num++)
        setNum2(num2--)
    }
    console.log('render')
    return (
        <>
            {num}
            <p>{num2}</p>
            <div><Button type='primary' onClick={addNum}>增加</Button></div>
        </>
    )

}

export default HookCom;